using System;
using SqlSugar;

namespace Domain
{
    /// <summary>
    /// 客户实体
    /// </summary>
    [SugarTable("Customer")]
    public class Customer
    {
        [SugarColumn(IsPrimaryKey = true, IsIdentity = true)]
        public int Id { get; set; }

        /// <summary>
        /// 客户名称
        /// </summary>
        [SugarColumn(Length = 50, IsNullable = false)]
        public string CustomerName { get; set; }

        /// <summary>
        /// 客户编号
        /// </summary>
        [SugarColumn(Length = 20)]
        public string CustomerCode { get; set; }

        /// <summary>
        /// 客户类别（零售/批发）
        /// </summary>
        [SugarColumn(Length = 20)]
        public string CustomerType { get; set; }

        /// <summary>
        /// 省份ID
        /// </summary>
        public string ProvinceId { get; set; }

        /// <summary>
        /// 城市ID
        /// </summary>
        public string CityId { get; set; }

        /// <summary>
        /// 区县ID
        /// </summary>
        public string CountyId { get; set; }

        /// <summary>
        /// 省份名称
        /// </summary>
        [SugarColumn(Length = 50)]
        public string Province { get; set; }

        /// <summary>
        /// 城市名称
        /// </summary>
        [SugarColumn(Length = 50)]
        public string City { get; set; }

        /// <summary>
        /// 区县名称
        /// </summary>
        [SugarColumn(Length = 50)]
        public string County { get; set; }

        /// <summary>
        /// 客户价值（普通/重要/高级）
        /// </summary>
        [SugarColumn(Length = 20)]
        public string CustomerLevel { get; set; }

        /// <summary>
        /// 信用等级（高/中/低）
        /// </summary>
        [SugarColumn(Length = 20)]
        public string CreditLevel { get; set; }

        /// <summary>
        /// 公司简介
        /// </summary>
        [SugarColumn(Length = 1000)]
        public string CompanyProfile { get; set; }

        /// <summary>
        /// 联系人姓名
        /// </summary>
        [SugarColumn(Length = 50)]
        public string ContactName { get; set; }

        /// <summary>
        /// 性别（1:男, 2:女）
        /// </summary>
        public int Gender { get; set; }

        /// <summary>
        /// 职务
        /// </summary>
        [SugarColumn(Length = 50)]
        public string Position { get; set; }

        /// <summary>
        /// 手机号码
        /// </summary>
        [SugarColumn(Length = 20)]
        public string Phone { get; set; }

        /// <summary>
        /// 办公电话
        /// </summary>
        [SugarColumn(Length = 20)]
        public string OfficePhone { get; set; }

        /// <summary>
        /// 电子邮箱
        /// </summary>
        [SugarColumn(Length = 100)]
        public string Email { get; set; }

        /// <summary>
        /// QQ号码
        /// </summary>
        [SugarColumn(Length = 20)]
        public string QQ { get; set; }

        /// <summary>
        /// 微信号
        /// </summary>
        [SugarColumn(Length = 50)]
        public string Wechat { get; set; }

        /// <summary>
        /// 账户名称
        /// </summary>
        [SugarColumn(Length = 100)]
        public string AccountName { get; set; }

        /// <summary>
        /// 收款人证件号
        /// </summary>
        [SugarColumn(Length = 50)]
        public string IdNumber { get; set; }

        /// <summary>
        /// 开户银行
        /// </summary>
        [SugarColumn(Length = 100)]
        public string BankName { get; set; }

        /// <summary>
        /// 银行账号
        /// </summary>
        [SugarColumn(Length = 50)]
        public string BankAccount { get; set; }

        /// <summary>
        /// 合作现状
        /// </summary>
        [SugarColumn(Length = 1000)]
        public string CooperationStatus { get; set; }

        /// <summary>
        /// 合作前景
        /// </summary>
        [SugarColumn(Length = 1000)]
        public string CooperationProspect { get; set; }

        /// <summary>
        /// 服务策略
        /// </summary>
        [SugarColumn(Length = 1000)]
        public string ServiceStrategy { get; set; }

        /// <summary>
        /// 分配状态（pending:待分配, assigned:已分配）
        /// </summary>
        [SugarColumn(Length = 20)]
        public string AssignStatus { get; set; }

        /// <summary>
        /// 分配给的用户名
        /// </summary>
        [SugarColumn(Length = 50)]
        public string UserName { get; set; }

        /// <summary>
        /// 分配时间
        /// </summary>
        public DateTime? AssignTime { get; set; }

        /// <summary>
        /// 行业
        /// </summary>
        [SugarColumn(Length = 50)]
        public string Industry { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreateTime { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        [SugarColumn(Length = 50)]
        public string CreateBy { get; set; }

        /// <summary>
        /// 更新时间
        /// </summary>
        public DateTime? UpdateTime { get; set; }

        /// <summary>
        /// 更新人
        /// </summary>
        [SugarColumn(Length = 50)]
        public string UpdateBy { get; set; }
    }
}